package com.spic.business.violation.supervision.information.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.business.common.core.workflow.WorkFlowEntity;
import com.spic.common.core.annotation.Excel;

import java.util.Date;


/**
 * 违章举报对象 violation_information
 *
 * @author spic
 * @date 2021-10-14
 */
public class ViolationInformation extends WorkFlowEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 违章来源 */
    @Excel(name = "违章来源")
    private String illegalSources;

    /** 违章类型 */
    @Excel(name = "违章类型")
    private String violationsType;

    /** 违章分类 */
    @Excel(name = "违章分类")
    private String violationsClassification;

    /** 违章区域 */
    @Excel(name = "违章区域")
    private String illegalArea;

    /** 违章时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "违章时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date illegalTime;

    /** 关联车辆 */
    @Excel(name = "关联车辆")
    private Long vehicleNumber;

    /**
     * 安环部主任ID
     */
    @TableField(exist = false)
    private String director;

    public ViolationInformation() {
    }

    public String getViolationsType() {
        return violationsType;
    }

    public void setViolationsType(String violationsType) {
        this.violationsType = violationsType;
    }

    public String getViolationsClassification() {
        return violationsClassification;
    }

    public void setViolationsClassification(String violationsClassification) {
        this.violationsClassification = violationsClassification;
    }

    /** 行驶速度 */
    @Excel(name = "行驶速度")
    private Long runningSpeed;

    /** 关联部门 */
    @Excel(name = "关联部门")
    private String associatedDept;

    /** 责任人员 */
    @Excel(name = "责任人员")
    private String responsible;

    /** 申诉说明 */
    @Excel(name = "申诉说明")
    private String complaintInstructions;

    public String getComplaintInstructions() {
        return complaintInstructions;
    }

    public void setComplaintInstructions(String complaintInstructions) {
        this.complaintInstructions = complaintInstructions;
    }

    /** 违章说明 */
    @Excel(name = "违章说明")
    @TableField("illegal_instructions")
    private String illegalInstructions;

    /** 处罚金额 */
    @Excel(name = "处罚金额")
    private Long penaltyAmount;

    /** 提报人 */
    @Excel(name = "提报人")
    private String mentionDissolution;

    /** 处罚依据 */
    private String punishJustify;

    /** 扣除分数 */
    private Long deduction;

    /** Y自有员工, N承包商 */
    private String staffType;

    public Integer getNeedTrain() {
        return needTrain;
    }

    public void setNeedTrain(Integer needTrain) {
        this.needTrain = needTrain;
    }

    private Integer needTrain;

    public String getHrUserId() {
        return hrUserId;
    }

    public void setHrUserId(String hrUserId) {
        this.hrUserId = hrUserId;
    }

    /** 罚单通知HR */
    @TableField(exist = false)
    private String hrUserId;

    public String getIllegalImagesMark() {
        return illegalImagesMark;
    }

    public void setIllegalImagesMark(String illegalImagesMark) {
        this.illegalImagesMark = illegalImagesMark;
    }

    /** 违章图片url illegal_images_mark*/
    private String illegalImagesMark;

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    private String fileUrl;

    public String getPunishJustify() {
        return punishJustify;
    }

    public void setPunishJustify(String punishJustify) {
        this.punishJustify = punishJustify;
    }

    public Long getDeduction() {
        return deduction;
    }

    public void setDeduction(Long deduction) {
        this.deduction = deduction;
    }

    public String getStaffType() {
        return staffType;
    }

    public void setStaffType(String staffType) {
        this.staffType = staffType;
    }

    /** 整改要求 */
    @Excel(name = "整改要求")
    private String rectificationRequirements;

    /** 整改措施 */
    @Excel(name = "整改措施")
    private String rectificationMeasures;

    /** 整改完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rectificationEndTime;

    /** 验收意见 */
    @Excel(name = "验收意见")
    private String acceptanceOpinion;

    /** 验收人 */
    @Excel(name = "验收人")
    private String acceptor;

    /** 验收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "验收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date acceptanceTime;

    /** 违章图片前 */
    @Excel(name = "违章图片前")
    private String illegalImagesBefore;

    /***罚单文件路径***/
    private String ticketFilePath;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getIllegalSources() {
        return illegalSources;
    }

    public void setIllegalSources(String illegalSources) {
        this.illegalSources = illegalSources;
    }

    public String getIllegalArea() {
        return illegalArea;
    }

    public void setIllegalArea(String illegalArea) {
        this.illegalArea = illegalArea;
    }

    public Date getIllegalTime() {
        return illegalTime;
    }

    public void setIllegalTime(Date illegalTime) {
        this.illegalTime = illegalTime;
    }

    public Long getVehicleNumber() {
        return vehicleNumber;
    }

    public void setVehicleNumber(Long vehicleNumber) {
        this.vehicleNumber = vehicleNumber;
    }

    public Long getRunningSpeed() {
        return runningSpeed;
    }

    public void setRunningSpeed(Long runningSpeed) {
        this.runningSpeed = runningSpeed;
    }

    public String getAssociatedDept() {
        return associatedDept;
    }

    public void setAssociatedDept(String associatedDept) {
        this.associatedDept = associatedDept;
    }

    public String getResponsible() {
        return responsible;
    }

    public void setResponsible(String responsible) {
        this.responsible = responsible;
    }

    public String getIllegalInstructions() {
        return illegalInstructions;
    }

    public void setIllegalInstructions(String illegalInstructions) {
        this.illegalInstructions = illegalInstructions;
    }

    public Long getPenaltyAmount() {
        return penaltyAmount;
    }

    public void setPenaltyAmount(Long penaltyAmount) {
        this.penaltyAmount = penaltyAmount;
    }

    public String getMentionDissolution() {
        return mentionDissolution;
    }

    public void setMentionDissolution(String mentionDissolution) {
        this.mentionDissolution = mentionDissolution;
    }

    public String getRectificationRequirements() {
        return rectificationRequirements;
    }

    public void setRectificationRequirements(String rectificationRequirements) {
        this.rectificationRequirements = rectificationRequirements;
    }

    public String getRectificationMeasures() {
        return rectificationMeasures;
    }

    public void setRectificationMeasures(String rectificationMeasures) {
        this.rectificationMeasures = rectificationMeasures;
    }

    public Date getRectificationEndTime() {
        return rectificationEndTime;
    }

    public void setRectificationEndTime(Date rectificationEndTime) {
        this.rectificationEndTime = rectificationEndTime;
    }

    public String getAcceptanceOpinion() {
        return acceptanceOpinion;
    }

    public void setAcceptanceOpinion(String acceptanceOpinion) {
        this.acceptanceOpinion = acceptanceOpinion;
    }

    public String getAcceptor() {
        return acceptor;
    }

    public void setAcceptor(String acceptor) {
        this.acceptor = acceptor;
    }

    public Date getAcceptanceTime() {
        return acceptanceTime;
    }

    public void setAcceptanceTime(Date acceptanceTime) {
        this.acceptanceTime = acceptanceTime;
    }

    public String getIllegalImagesBefore() {
        return illegalImagesBefore;
    }

    public void setIllegalImagesBefore(String illegalImagesBefore) {
        this.illegalImagesBefore = illegalImagesBefore;
    }

    public String getIllegalImagesAfter() {
        return illegalImagesAfter;
    }

    public void setIllegalImagesAfter(String illegalImagesAfter) {
        this.illegalImagesAfter = illegalImagesAfter;
    }

    public Integer getViolationState() {
        return violationState;
    }

    public void setViolationState(Integer violationState) {
        this.violationState = violationState;
    }

    /** 违章图片整改后 */
    @Excel(name = "违章图片整改后")
    private String illegalImagesAfter;

    /** 违章状态 */
    @Excel(name = "违章状态")
    private Integer violationState;

    public String getTicketFilePath() {
        return ticketFilePath;
    }

    public void setTicketFilePath(String ticketFilePath) {
        this.ticketFilePath = ticketFilePath;
    }

    @Override
    public String toString() {
        return "ViolationInformation{" +
                "id=" + id +
                ", illegalSources='" + illegalSources + '\'' +
                ", violationsType='" + violationsType + '\'' +
                ", violationsClassification='" + violationsClassification + '\'' +
                ", illegalArea='" + illegalArea + '\'' +
                ", illegalTime=" + illegalTime +
                ", vehicleNumber=" + vehicleNumber +
                ", runningSpeed=" + runningSpeed +
                ", associatedDept='" + associatedDept + '\'' +
                ", responsible='" + responsible + '\'' +
                ", illegalInstructions='" + illegalInstructions + '\'' +
                ", complaintInstructions='" + complaintInstructions + '\'' +
                ", penaltyAmount=" + penaltyAmount +
                ", mentionDissolution='" + mentionDissolution + '\'' +
                ", rectificationRequirements='" + rectificationRequirements + '\'' +
                ", rectificationMeasures='" + rectificationMeasures + '\'' +
                ", rectificationEndTime=" + rectificationEndTime +
                ", acceptanceOpinion='" + acceptanceOpinion + '\'' +
                ", acceptor='" + acceptor + '\'' +
                ", acceptanceTime=" + acceptanceTime +
                ", illegalImagesBefore='" + illegalImagesBefore + '\'' +
                ", illegalImagesAfter='" + illegalImagesAfter + '\'' +
                ", violationState=" + violationState +
                '}';
    }

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }
}
